package ModelLayer.LagerMappe;
import java.util.*;

public class LagerCon
{
    private ArrayList<Lager> alleLagre; 
    
    public LagerCon()
    {
        alleLagre = new ArrayList<Lager>();
    }
    
//     public ArrayList<HashMap<Lager, Vare>> getVareListe(String navn)
//     {       
//         ArrayList<HashMap<Lager, Vare>> lagerVareListe = new ArrayList<HashMap<Lager, Vare>>();
//         for(Lager lager: alleLagre)
//         {
//             for (Vare vare: lager.getVare(navn))
//             {
//                 HashMap<Lager, Vare> lagerVare = new HashMap<Lager, Vare>(1);
//                 lagerVare.put(lager, vare);
//                 lagerVareListe.add(lagerVare);
//             }
//         }
//         
//         return lagerVareListe;
//     }
    
         

    public void createBestillingsvare(String lagerNavn, int antal, String hyldeNr, String navn, String beskrivelse, String stregkode, double salgspris, double indkoebspris, String leverandoer)
    {
        for(Lager l : alleLagre)
        {
            if(l.getNavn().toLowerCase().equals(lagerNavn))
            {
                l.createBestillingsvare(antal, hyldeNr, navn, beskrivelse, stregkode, salgspris, indkoebspris, leverandoer);
            }
        }
    }
    
    public void createHyldevare(String lagerNavn, int antal, String hyldeNr, String navn, String beskrivelse, String stregkode, double salgspris, double indkoebspris, int minLager, int maxLager, int kvantum)
    {
        for(Lager l : alleLagre)
        {
            if(l.getNavn().toLowerCase().equals(lagerNavn.toLowerCase()))
            {
                l.createHyldevare(antal, hyldeNr, navn, beskrivelse, stregkode, salgspris, indkoebspris, minLager, maxLager, kvantum);
            }
        }
    }
    
    public void createLager(String navn)
    {
        Lager l = new Lager(navn);
        alleLagre.add(l);
    }
    
    /**
     * Returnerer en ArrayList, indeholdende
     * de lagere, som indeholder en vare, hvor vare.getNavn().contains(vareNavn).
     */
    public ArrayList<Lager> getLager(String vareNavn)
    {
        ArrayList<Lager> result = new ArrayList<Lager>();
        for(Lager l : alleLagre)
        {
            if(l.containsVare(vareNavn))
            {
                result.add(l);
            }
        }
        
        return result;
    }
    
    public ArrayList<Lager> getAlleLagre()
    {
        return alleLagre;
    }
}
